package cn.infrabase;

import java.nio.charset.Charset;
import java.time.ZoneId;
import java.util.Properties;
import java.util.TimeZone;

/**
 * @author Weimin Gao
 * @since 1.0.0
 **/
public class System {

	/**
	 * 返回系统属性配置。
	 *
	 * @return 系统属性配置。
	 */
	public static Properties getProperties() {
		return java.lang.System.getProperties();
	}

	/**
	 * 返回系统时间戳。
	 *
	 * @return 系统时间戳。
	 */
	public static long currentTimeMillis() {
		return java.lang.System.currentTimeMillis();
	}

	/**
	 * 返回系统字符集，可通过设置属性【file.encoding】进行修改。
	 *
	 * @return 字符集。
	 * @see Charset#defaultCharset()
	 */
	public static Charset defaultCharset() {
		return Charset.defaultCharset();
	}

	/**
	 * 返回系统时区，可通过设置属性【user.timezone】进行修改。
	 *
	 * @return 系统时区对象。
	 */
	public static TimeZone defaultTimeZone() {
		return TimeZone.getDefault();
	}

	/**
	 * 返回系统时区标识，可通过设置属性【user.timezone】进行修改。
	 *
	 * @return 系统时区标识对象。
	 */
	public static ZoneId defaultTimeZoneId() {
		return defaultTimeZone().toZoneId();
	}

}
